Collaboration is a core component of knowledge-based and white-collar work. The proliferation of flexible networking technologies and portable computing devices has raised expectations of user-level applications for collaboration in a variety of situations—whether at the desk, at the water cooler, or away from the office. Architectures and user interfaces that do not support the various ways in which people actually work together hamper the effectiveness of current collaborative software. Additionally, approaches that rely on fixed device and network configurations limit the scope of where collaboration can occur to fixed scenarios.
In the physical world, real-time collaboration spans the gamut from quick, informal conversations to more structured meetings. People interleave several different conversations and collaborations throughout the workday. Depending on the type of interaction or meeting, the participants may be open to interactions with others outside the scope of the collaboration; for example, taking a phone call from one person while talking face-to-face with another. However, in some cases users want to restrict that access; for example, during a meeting the participants may not want to be disturbed by those outside their current physical location, or by others not currently participating in the meeting. The context of activity thus affects both availability (to whom the user chooses to be accessible) and whom the user wants to see (relevant people). Moreover, how the user enters into an activity varies. Sometimes, she may join an activity with co-workers, she may be invited to join a session already in progress, she may discover that others are meeting about a topic of interest and join in, or, she may enter a specified physical location handled by a larger network and wish to identify herself to potential collaborators nearby. Often, these collaborations are part of a larger fixed physical network, and the user wants to monitor when relevant activity is occurring and who is involved; for example, an impromptu meeting in the development group about a certain project.
The basic problem is that the number of devices on a physical network is potentially extremely large (e.g., enterprise LAN, public wireless network, Internet). This makes it difficult for people who wish to collaborate with one another to find one another easily.
In addition to this, the members and activities on this network may be related to one another in one context (e.g., same or similar physical location or project), and unrelated to each other in another context (different activity or department), where the term “context” includes aspects of physical location, time, and purpose of collaboration.
For example, a large network may be set up in a large public location or enterprise with 1000 potential collaborators. Five of those members may want to collaborate with one another to exchange information in a local area (a specific meeting room), and/or for a specific purpose (development project). Other people in the same location may be collaborating for another project/purpose and may wish to either include or exclude others nearby.
Another problem related to this is that it is difficult to find and participate in ad hoc or very dynamic activities on a large physical network based on location, similar goals, purpose or department. That is, it should be possible to quickly and easily identify and participate in a shared context or session that is effectively a subset of the current physical network without needing to be explicitly invited to that activity/context by a current participant.